package com.pet.entity;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

@Data
@TableName("health_records")
public class HealthRecordDO {
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 用户ID
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 宠物ID
     */
    @TableField("pet_id")
    private Integer petId;
    /**
     * 记录日期
     */
    @TableField("record_date")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN, timezone = "GMT+8")
    private Date recordDate;

    /**
     * 记录季节
     */
    @TableField("record_season")
    private String recordSeason;

    /**
     * 活动模式
     */
    @TableField("activity_pattern")
    private String activityPattern;

    /**
     * 食欲水平
     */
    @TableField("appetite_level")
    private String appetiteLevel;

    /**
     * 饮水量
     */
    @TableField("water_intake")
    private String waterIntake;

    /**
     * 睡眠时长
     */
    @TableField("sleep_duration")
    private String sleepDuration;

    /**
     * 舔毛频率
     */
    @TableField("grooming_freq")
    private String groomingFreq;

    /**
     * 眼睛状态
     */
    @TableField("eye_condition")
    private String eyeCondition;

    /**
     * 被毛状态
     */
    @TableField("coat_condition")
    private String coatCondition;

    /**
     * 粪便质量
     */
    @TableField("stool_quality")
    private String stoolQuality;

    /**
     * 尿量
     */
    @TableField("urine_output")
    private String urineOutput;

    /**
     * 体温(℃)
     */
    @TableField("body_temp")
    private Double bodyTemp;

    /**
     * 情绪状态
     */
    @TableField("mood_state")
    private String moodState;

    /**
     * 社交行为
     */
    @TableField("social_interaction")
    private String socialInteraction;

    /**
     * 发情阶段
     */
    @TableField("estrus_state")
    private String estrusState;

    /**
     * 当前发情周期持续天数
     */
    @TableField("estrus_duration")
    private Integer estrusDuration;

    /**
     * 发情强度
     */
    @TableField("estrus_intensity")
    private Integer estrusIntensity;

    /**
     * 症状记录
     */
    @TableField("estrus_symptoms")
    private String estrusSymptoms;

    /**
     * 健康评分
     */
    @TableField("health_score")
    private Integer healthScore;

    /**
     * 异常事件
     */
    @TableField("abnormal_events")
    private String abnormalEvents;

    /**
     * 详细观察记录
     */
    @TableField("notes")
    private String notes;

    /**
     * 创建时间
     */
    @TableField("created_at")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date updatedAt;
}
